package com.example.warehouse.bus.dao.persist.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.warehouse.bus.pojo.entity.BusCustomer;
import com.example.warehouse.bus.pojo.vo.BusCustomerStandardVO;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;


/**
 * @author Linger
 * @date 2023-07-03 11:02
 * @desciption: 处理客户数据的Mapper接口
 */
@Repository
@Mapper
public interface BusCustomerMapper extends BaseMapper<BusCustomer> {
    /**
     * 根据客户名统计客户数据的数量
     *
     * @param customerName 公司名
     * @return 匹配客户名的公司数据的数据
     */
    int countByCustomerName(String customerName);

    /**
     * 统计客户手机号码的数量
     *
     * @param phone 手机号码
     * @return 匹配手机号码的数量
     */
    int countByPhone(String phone);

    /**
     * 统计电子邮箱的数量
     *
     * @param email 电子邮箱
     * @return 匹配电子邮箱的数量
     */
    int countByEmail(String email);


    /**
     * 根据ID查询客户数据详情
     *
     * @param id ID
     * @return 匹配的客户数据详情，如果没有匹配的数据，则返回null
     */
    BusCustomerStandardVO getStandardById(Long id);

    /**
     * 模糊查询
     *
     * @param customerName     公司名称
     * @param connectionPerson 联系人姓名
     * @param phone            联系人手机号
     * @return 查询结果列表
     */
    List<BusCustomerStandardVO> queryByKeyWord(String customerName, String connectionPerson, String phone);

    /**
     * 查询客户数据列表
     *
     * @return 客户数据列表
     */
    List<BusCustomer> list();
    List<BusCustomer> listAsc();
    List<BusCustomer> listDesc();

}
